package com.watchmen.mini.modules.sys.interceptor;

public interface TokenManager {
    /**
     * 创建一个token关联上指定用户
     * @return 生成的token
     */
    public TokenModel createToken(TokenModel model);

    /**
     * 检查token是否有效
     * @return 是否有效
     */
    public boolean checkToken(String tokenCode);

    /**
     * 从字符串中解析token
     * @return
     */
    public TokenModel getToken(String tokenCode);

    /**
     * @Author tangjp
     * @Description
     * @Date 2018/7/19 11:00
     * @Param [loginName]
     * @return com.watchmen.edu.modules.sys.security.TokenModel
     **/
    public TokenModel getTokenByLoginName(String loginName);

    /**
     * 清除token
     * @param loginName 登录用户
     */
    public void deleteToken(String loginName);

    /**
     * 清除token
     * @param tokenCode token码
     */
    public void deleteTokenByCode(String tokenCode);

    String setPrefix(String key);
}
